package com.heima.wemedia.service;

import com.heima.model.article.dtos.ArticleCommentDto;
import com.heima.model.article.vos.ArticleCommnetVo;
import com.heima.model.comment.dtos.CommentConfigDto;
import com.heima.model.comment.dtos.CommentLikeDto;
import com.heima.model.comment.dtos.CommentManageDto;
import com.heima.model.comment.dtos.CommentRepaySaveDto;
import com.heima.model.common.dtos.PageResponseResult;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.common.enums.AppHttpCodeEnum;
import com.heima.model.wemedia.vos.CommentRepayListVo;

import java.util.List;
import java.util.Map;

public interface CommentManageService {

    /**
     * 查看文章评论列表
     */
    PageResponseResult<List<ArticleCommnetVo>> findNewsComments(ArticleCommentDto dto);

    /**
     * 打开或关闭评论
     */
    ResponseResult<AppHttpCodeEnum> updateCommentStatus(CommentConfigDto dto);

    /**
     * 查询评论列表
     */
    ResponseResult<List<CommentRepayListVo>> list(CommentManageDto dto);

    /**
     * 删除评论
     */
    ResponseResult<AppHttpCodeEnum> delComment(String commentId);

    /**
     * 删除评论回复
     */
    ResponseResult<AppHttpCodeEnum> delCommentRepay(String commentRepayId);

    /**
     * 回复评论
     */
    ResponseResult<AppHttpCodeEnum> saveCommentRepay(CommentRepaySaveDto dto);

    /**
     * 点赞
     */
    ResponseResult<Map<String, Object>> like(CommentLikeDto dto);
}
